package br.com.datatraffic.fiscal.entidades;
// Generated 17/08/2007 09:44:48 by Hibernate Tools 3.2.0.b9


import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import org.hibernate.annotations.Cache;

/**
 * Funcionalidade generated by hbm2java
 */
@Entity
@Table(name="TBFUNCIONALIDADE")
public class Funcionalidade5  implements java.io.Serializable {


     private Long id;
     private Funcionalidade5 funcionalidade;
     private String descricao;
     private String url;
     private BigDecimal sequencia;
     private List<Funcionalidade5> funcionalidades = new ArrayList<Funcionalidade5>(0);
     private List<PermissaoPerfil> permissaoPerfils = new ArrayList<PermissaoPerfil>(0);
     private List<PermissaoOperador> permissaoOperadors = new ArrayList<PermissaoOperador>(0);

    public Funcionalidade5() {
    }


    public Funcionalidade5(Long id, String descricao) {
        this.id = id;
        this.descricao = descricao;
    }
    public Funcionalidade5(Long id, Funcionalidade5 funcionalidade, String descricao, String url, BigDecimal sequencia, List<Funcionalidade5> funcionalidades, List<PermissaoPerfil> permissaoPerfils, List<PermissaoOperador> permissaoOperadors) {
       this.id = id;
       this.funcionalidade = funcionalidade;
       this.descricao = descricao;
       this.url = url;
       this.sequencia = sequencia;
       this.funcionalidades = funcionalidades;
       this.permissaoPerfils = permissaoPerfils;
       this.permissaoOperadors = permissaoOperadors;
    }

     @Id
     @SequenceGenerator(name="SQ_TBFUNCIONALIDADE", sequenceName="SQ_TBFUNCIONALIDADE", allocationSize=1)
     @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SQ_TBFUNCIONALIDADE")
    @Column(name="FUNCIONALIDADE_ID", unique=true, nullable=false, precision=22, scale=0)
    public Long getId() {
        return this.id;
    }

    public void setId(Long id) {
        this.id = id;
    }
@ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="FUNCIONALIDADE_PAI")
    public Funcionalidade5 getFuncionalidade() {
        return this.funcionalidade;
    }

    public void setFuncionalidade(Funcionalidade5 funcionalidade) {
        this.funcionalidade = funcionalidade;
    }

    @Column(name="NOME", nullable=false, length=60)
    public String getDescricao() {
        return this.descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    @Column(name="URL")
    public String getUrl() {
        return this.url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    @Column(name="SEQUENCIA", precision=22, scale=0)
    public BigDecimal getSequencia() {
        return this.sequencia;
    }

    public void setSequencia(BigDecimal sequencia) {
        this.sequencia = sequencia;
    }
@OneToMany(fetch=FetchType.LAZY, mappedBy="funcionalidade")
    public List<Funcionalidade5> getFuncionalidades() {
        return this.funcionalidades;
    }

    public void setFuncionalidades(List<Funcionalidade5> funcionalidades) {
        this.funcionalidades = funcionalidades;
    }
@OneToMany(fetch=FetchType.LAZY, mappedBy="funcionalidade")
    public List<PermissaoPerfil> getPermissaoPerfils() {
        return this.permissaoPerfils;
    }

    public void setPermissaoPerfils(List<PermissaoPerfil> permissaoPerfils) {
        this.permissaoPerfils = permissaoPerfils;
    }
@OneToMany(fetch=FetchType.LAZY, mappedBy="funcionalidade")
    public List<PermissaoOperador> getPermissaoOperadors() {
        return this.permissaoOperadors;
    }

    public void setPermissaoOperadors(List<PermissaoOperador> permissaoOperadors) {
        this.permissaoOperadors = permissaoOperadors;
    }

  // The following is extra code specified in the hbm.xml files
    private static final long serialVersionUID = 1L;
  // end of extra code specified in the hbm.xml files

}


